Field of the Invention
The present invention relates generally to computer networks, and more particularly to network server balancing and redundancy.
Description of the Related Art
FIG. 1 shows a simplified architecture 100 for a prior art approach to network server management. Three servers are illustrated: server 110 containing a first segment of a database; server 120 containing a second segment of the database; and server 130 containing a third segment of the same database. Also illustrated in FIG. 1 is communications network 140 responsible for transferring information between users 150 through 170 and one of the three servers responsible for responding to a particular query.
The prior art approach to server management illustrated in FIG. 1 suffers from several drawbacks
First, the entire database in FIG. 1 is divided between three separate servers. No single server contains the entire database nor do segments of the database overlap amongst the servers. For example, in the case of a phone book database, server A (110) may comprise entries A thru H, server B (120) may comprise entries I through Q, and server C (130) may comprise entries R-Z. Accordingly, in the event one of the three servers illustrated in FIG. 1 experiences a delay or failure, the other servers in the network are unable to respond on behalf of the failed server, because they lack the requisite data. As a result, certain responses to queries may be delayed or go unprocessed.
Second, even if all of the servers in the illustrated network of FIG. 1 stored the requisite data and received all queries, there is no mechanism for one server to monitor whether another server with responsibility for processing a query is actually processing the query. As a result, one server may have available processing capability going unutilized as that server is under the misconception that another server is processing the request.
Third, the prior art architecture illustrated in FIG. 1 is not scalable. Server limitations (e.g. processor speed or storage capacity) dictate the number of queries a server can process. Installation of additional servers to store additional information and process additional queries often requires shutting down an entire network. Additional downtime is often imposed by rearranging data on existing servers. Consequently, as evidenced by the prior art architecture illustrated in FIG. 1, there is a need for improved systems and methods of server management.